// pages/course/course.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
      downurl:'http://localhost:8080/file/downLoad?fileName=',
      url: '',
      course: [],
      pageNum: 1,
      totalPageCount: 0
  },
  getcourse() {
    // 显示加载中
    wx.showLoading({
        title: '数据加载中...',
        mask: true
    })
    let that = this
    wx.request({
        method: "GET",
        url: that.data.url + '/course/findByPage',
        data: {
            pageNum: that.data.pageNum,
            pageSize: 10
        },
        success(resp) {
            // 对返回的数据进行字段映射
            const mappedList = resp.data.data.list.map(item => ({
                course_id: item.courseId,
                course_name: item.courseName,
                course_introduce: item.courseIntroduce,
                course_tabular_chart: item.courseTabularChart
            }));
            that.setData({
                course: [...that.data.course, ...mappedList],
                totalPageCount: resp.data.data.pages,
            })
            wx.hideLoading()
        },
        fail(err) {
            console.error('请求失败:', err)
            wx.hideLoading()
        }
    })
},

onLoad() {
    this.setData({
        url: app.globalData.URL
    })
    this.getcourse()
},

/**
 * 页面相关事件处理函数--监听用户下拉动作
 */
onPullDownRefresh() {
    // 加载第一页数据，数据重置
    this.setData({
        course: [],
        pageNum: 1,
        totalPageCount: 0,
    })
    this.getcourse();
    // 关闭加载提示框
    wx.hideLoading()
    // 手动关闭下拉刷新
    wx.stopPullDownRefresh()
},

/**
 * 页面上拉触底事件的处理函数
 */
onReachBottom() {
    if (this.data.isLoading) return;
    if (this.data.pageNum >= this.data.totalPageCount) {
        wx.showToast({
            title: '没有更多数据!',
            icon: 'none'
        })
        return;
    }
    this.setData({
        pageNum: this.data.pageNum + 1
    })
    this.getcourse();
},

  /**
   * 生命周期函数--监听页面加载
   */
  jump_course_detail(e){
    const id=e.currentTarget.dataset.id;
    console.log(id);
    wx.navigateTo({
      url: '../course/coursedetail/coursedetail?id='+id,
    })
  },
  onLoad() {
    this.setData({
      url: app.globalData.URL
    })
    this.getcourse()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})